package ru.averta.notes.service.security.login;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DataAccessException;
import org.springframework.security.authentication.encoding.PasswordEncoder;

import ru.averta.notes.domain.forms.UserForm;

public class UserPasswordEncoder implements PasswordEncoder {

	Logger logger = LoggerFactory.getLogger(UserPasswordEncoder.class);
	private static final String SALT = "j2esPo6";
	
	public static String hashPassword(String rawPass) {
		return rawPass + SALT;
	}

	public String encodePassword(String rawPass, Object salt)
	throws DataAccessException {

		logger.debug("Хешируем пароль {}", rawPass);
		return hashPassword(rawPass);
	}

	public boolean isPasswordValid(String encPass, String rawPass, Object salt)
	throws DataAccessException {

		logger.debug("Проверяем пароль {} на соответствие захешированному {}", new String[]{rawPass, encPass});
		if (encPass.equals(hashPassword(rawPass))) {
			logger.debug("Пароли совпадают");
			return true;
		} else {
			logger.debug("Пароли не совпадают!");
			return false;
		}
	}

}
